home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TPUG - Toronto PET Users Group
/
TPUG Users Group CD
/
TPUG Users Group CD.iso
/
CRS
/
crs19.d81
/
spectrum.sfx
/
multi sprite
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
1992-09-01
|
2KB
|
102 lines
1 DIM AZ(3):BK=0:AZ(1)=1:AZ(2)=2:AZ(3)=3
2 GOSUB 3000
3 PRINT"[147]PLEASE WAIT..."
4 X=0:U=1:W=53248:Y=1:WE=1050:
5 POKE53280,0:POKE53281,0
6 DIM C(300):DIMV(900):DIMPF(600):DIMRE(600):DIM G(75):DIMRY(600)
10 FOR DE=1064 TO 2023 STEP 40
12 FORTG=1TO12:DF=DF+1:C(DF)=DE+TG:NEXT:NEXT
14 FOR DE=55336 TO 56295 STEP 40
16 FORTG=1TO12:SF=SF+1:V(SF)=DE+TG:NEXT:NEXT
29 F=0
30 FOR TY=1TO64
31 RE(TY)=832+F
32 F=F+1
33 NEXT
40 FOR X=832TO832+63:POKEX,0:NEXT
50 PRINT"[147][154][213][192][192][192][192][192][192][192][192][192][192][192][192][201]"
51 FOR DF=1TO21
52 PRINT"[194][144] [154][194]"
53 NEXTDF
54 PRINT"[202][192][192][192][192][192][192][192][192][192][192][192][192][203]"
55 P=1
90 FORDK=1TO252:POKEC(DK),BK:NEXT
95 U=AZ(1)
100 GET A$
101 POKEC(P),81:POKEV(P),U
102 POKEC(P),160:POKEV(P),LM
103 IF A$="I" THEN P=P-12
104 IF A$="M" THEN P=P+12
105 IF A$="K" THEN P=P+1
106 IF A$="J" THEN P=P-1
107 IF P>252 THEN P=252
108 IF A$=" " THEN 300
109 IF P<1 THEN P=1
126 IF A$="S" THEN 201
128 IF A$="X" THEN 2000
130 IF A$="[147]" THEN 400
131 LM=PEEK (V(P))
132 IF A$="U" THEN GOSUB900
133 IF A$="E" THEN U=0
134 IF A$="D" THEN U=1
135 IF A$="L" THEN 700
136 IF A$="1" THEN U=AZ(1)
137 IF A$="2" THEN U=AZ(2)
138 IF A$="3" THEN U=AZ(3)
139 IF A$="4" THEN U=BK
200 GOTO 100
201 INPUT"FILENAME";NM$
202 OPEN15,8,15,"S0:"+NM$
203 CLOSE 15
205 OPEN6,8,6,"0:"+NM$+",S,W"
206 FOR HJ=1TO504
207 YY=PEEK(V(HJ))
208 PRINT#6,YY
209 NEXT
210 CLOSE 6
211 RUN
300 POKEV(P),U
399 GOTO 131
400 FORT=1TO252:POKEV(T),0:NEXT:GOTO 100
700 INPUT"FILENAME";NM$
705 OPEN6,8,6,"0:"+NM$+",S,R"
706 FOR HJ=1TO252
707 INPUT#6,YY
708 POKEV(HJ),YY
709 NEXT
710 CLOSE 6
711 GOTO 100
900 FOR GJ=1TO252:RY(GJ)=PEEK(V(GJ)):NEXT
930 R=0:FORHK=1TO252STEP4:R=R+1:G(R)=0
1000 IFRY(HK+0)=1THEN G(R)=G(R)+128
1001 IFRY(HK+0)=2THEN G(R)=G(R)+64
1002 IFRY(HK+0)=3THEN G(R)=G(R)+192
1003 IFRY(HK+1)=1THEN G(R)=G(R)+32
1004 IFRY(HK+1)=2THEN G(R)=G(R)+16
1005 IFRY(HK+1)=3THEN G(R)=G(R)+48
1006 IFRY(HK+2)=1THEN G(R)=G(R)+8
1007 IFRY(HK+2)=2THEN G(R)=G(R)+4
1008 IFRY(HK+2)=3THEN G(R)=G(R)+12
1009 IFRY(HK+3)=1THEN G(R)=G(R)+2
1010 IFRY(HK+3)=2THEN G(R)=G(R)+1
1011 IFRY(HK+3)=3THEN G(R)=G(R)+3
1012 NEXTHK:GOTO 1100
1013 FORTY=1TO63
1014 POKERE(TY),G(TY):NEXT:RETURN
1100 POKEW+21,1:POKE2040,13:POKEW+39,Y
1101 POKEW+16,1:POKEW,30:POKEW+1,100:POKEV+39,AZ(1):POKE53285,AZ(2)
1102 POKE53286,AZ(3):POKE53269,PEEK(53269)OR(2^0)
1103 POKE53276,PEEK(53276)OR(2^0)
1111 GOTO 1013
2000 GOSUB9000:POKE198,4
2010 PRINT"[147]LOAD"CHR$(34)"SPECTRUM V1.0";
2020 PRINTCHR$(34)",8";
2030 POKE631,13:POKE632,82:POKE633,117:POKE634,13
2040 END
3000 POKE53280,0:POKE53281,0:PRINT"[147]"
3003 INPUT"COLOR #1(0-15)";AZ(1)
3004 INPUT"COLOR #2(0-15)";AZ(2)
3005 INPUT"COLOR #3(0-15)";AZ(3)
3006 RETURN
9000 FOR I=832TO894:POKEI,0:NEXT:RETURN